package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

/**
 * 依次启动 spring-cloud-eureka、 spring-cloud-producer、gateway-service-zuul-eureka，
 * 访问：http://localhost:8888/producer/hellos?name=%E5%B0%8F%E6%98%8E，返回：hello 小明，this is first messge

 说明访问gateway-service-zuul-eureka的请求自动转发到了spring-cloud-producer，并且将结果返回。

 为了更好的模拟服务集群，我们复制spring-cloud-producer项目改为spring-cloud-producer-2，
 修改spring-cloud-producer-2项目端口为9001



 后端服务多达十几个的时候，每一个都这样配置也挺麻烦的，spring cloud zuul已经帮我们做了默认配置。默认情况下，Zuul会代理所有注册到Eureka Server的微服务，并且Zuul的路由规则如下：http://ZUUL_HOST:ZUUL_PORT/微服务在Eureka上的serviceId/**会被转发到serviceId对应的微服务。

 我们注销掉gateway-service-zuul-eureka项目中关于路由的配置：

 #zuul.routes.api-a.path=/producer/**
 #zuul.routes.api-a.serviceId=spring-cloud-producer
 重新启动后，访问
 http:localhost:8888/spring-cloud-producer/hellos?name=%E5%B0%8F%E6%98%8E
 */
@SpringBootApplication
@EnableZuulProxy
public class GatewayServiceZuulEurekaApplication {

	public static void main(String[] args) {
		SpringApplication.run(GatewayServiceZuulEurekaApplication.class, args);
	}
}
